package com.kevin.service;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.nutz.dao.Dao;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Files;
import org.nutz.service.IdNameEntityService;

@IocBean(fields = {"dao"})
public class UploadService extends IdNameEntityService<Object> {

	public UploadService() {
		super();
	}

	public UploadService(Dao dao) {
		super(dao);
	}
	/**
	 * 
	  * @方法名  uploadFile 
	  * @功能描述  上传文件
	  * @编码人   吕凯
	  * @编码时间  2012-9-24 下午01:35:57 
	  * @输入参数   @param tempFile
	  * @输入参数   @param dirPath
	  * @输入参数   @param root
	  * @输入参数   @throws IOException 
	  * @返回值  void
	 */
	public Map<String,Object> uploadFile(File tempFile,String dirPath, String root) throws IOException {
		// Get pet
		Map<String,Object> map = new HashMap<String, Object>();
		String ext = Files.getSuffixName(tempFile);
		String filename = System.currentTimeMillis()+"." + ext;
		File file = new File(root +"/"+dirPath+"/"+ filename);
		if (file.exists())
			Files.deleteFile(file);
		Files.move(tempFile, file);
		map.put("sysfilename", filename);//系统生成的文件名
		map.put("attfilename", tempFile.getName());//原文件名
		map.put("atttype", ext);//附件的格式类型
		map.put("attname", Files.getMajorName(tempFile));//附件文件名称
		map.put("size", file.length());
		return map;
	}
	/**
	 * 
	  * @方法名  deleteFile 
	  * @功能描述  删除文件
	  * @编码人   吕凯
	  * @编码时间  2012-9-24 下午01:35:21 
	  * @输入参数   @param filename
	  * @输入参数   @param dirPath
	  * @输入参数   @param root
	  * @输入参数   @throws IOException 
	  * @返回值  void
	 */
	public void deleteFile(String filename,String dirPath, String root) throws IOException {
		// Get pet
		File file = new File(root +"/"+dirPath+"/"+ filename);
		if (file.exists())
			Files.deleteFile(file);
	}
}
